//
//  HNSH_ShopNetServer.h
//  HNSH_SingleProject
//
//  Created by 李宇廷 on 2023/2/25.
//

#import <Foundation/Foundation.h>
#import "ST_BaseNetManager.h"

NS_ASSUME_NONNULL_BEGIN

@interface HNSH_ShopNetServer : NSObject

//商城首页
+ (NSURLSessionTask *)requestGoodsHomeDataSuccess:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;

//商城首页
+ (NSURLSessionTask *)requestGoodsHomeDataJXZQSuccess:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;

// 首页弹窗
+ (NSURLSessionTask *)requestHomeMessageAlertSuccess:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//商城首页推荐商品
+ (NSURLSessionTask *)requestGoodsHomeRecommendWithPage_num:(NSInteger)page_num success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


// 商品列表
/// @param shop_id 商家编号
/// @param mcate_id 一级分类编号
/// @param scate_id 二级分类编号
/// @param keyword 搜索关键词
/// @param sort_type 排序类型 1:综合 2:销量 3:最新 4:价格
/// @param sort_rule 排序规则 0:降序 1:升序
/// @param type  0    全部产品
///             1    精品推荐
///             2    有好货
///             3    超值购
///             4    今日精选
///             5    口碑好品
///             6    活动专区
///             10    礼包商品
/// @param page_num page_num description
/// @param success success description
/// @param failure failure description
+ (NSURLSessionTask *)requestGoodsListWithShop_id:(NSString *)shop_id
                                         mcate_id:(NSString *)mcate_id
                                         scate_id:(NSString *)scate_id
                                          keyword:(NSString *)keyword
                                        sort_type:(NSString *)sort_type
                                        sort_rule:(NSString *)sort_rule
                                             type:(NSString *)type
                                         page_num:(NSInteger)page_num
                                          success:(ST_DataRequestSuccess)success
                                          Failure:(ST_RequestFailure)failure;


//商品详情
+ (NSURLSessionTask *)requestGoodsDetailWithGoodsId:(NSString *)goodsId success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//商品规格
+ (NSURLSessionTask *)requestGoodsSpecWithGoodsId:(NSString *)goodsId success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//商品收藏操作
+ (NSURLSessionTask *)requestGoodsFavoriteOperateWithGoodsId:(NSString *)goodsId operateType:(NSString *)operateType success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//商品订单确认【确认下单页面】
+ (NSURLSessionTask *)requestGoodsOrderConfirmWithGoodsId:(NSString *)goodsId
                                                  spec_id:(NSString *)spec_id
                                                 quantity:(NSInteger)quantity
                                                from_cart:(NSInteger)from_cart
                                               address_id:(NSString *)address_id
                                                  success:(ST_DataRequestSuccess)success
                                                  Failure:(ST_RequestFailure)failure;


//订单创建
+ (NSURLSessionTask *)requestGoodsOrderSubmitWithGoodsId:(NSString *)goodsId
                                                 spec_id:(NSString *)spec_id
                                                quantity:(NSInteger)quantity
                                               from_cart:(NSInteger)from_cart
                                              address_id:(NSString *)address_id
                                               user_note:(NSArray *)user_note
                                                 success:(ST_DataRequestSuccess)success
                                                 Failure:(ST_RequestFailure)failure;



//订单付款【绿色种子】
+ (NSURLSessionTask *)requestGoodsOrderPaymentWithOrderId:(NSString *)orderId pay_password:(NSString *)pay_password success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//创建支付订单
+ (NSURLSessionTask *)requestGoodsRechargeCreateWithPrice:(NSString *)price
                                              business_id:(NSString *)business_id
                                            business_type:(NSString *)business_type
                                               channel_id:(NSString *)channel_id
                                             product_code:(NSString *)product_code
                                                  success:(ST_DataRequestSuccess)success
                                                  Failure:(ST_RequestFailure)failure;


#pragma mark 地址
//收货地址【列表】
+ (NSURLSessionTask *)requestUserAddressListSuccess:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//收货地址【删除】
+ (NSURLSessionTask *)requestUserAddressDeleteWithAddressId:(NSString *)addressId success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//收货地址【新增】
+ (NSURLSessionTask *)requestUserAddressCreateWithParams:(NSDictionary *)params success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//收货地址【编辑】
+ (NSURLSessionTask *)requestUserAddressUpdateWithParams:(NSDictionary *)params success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//地区接口
+ (NSURLSessionTask *)requestRegionListWithParams:(NSDictionary *)params success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;



#pragma mark 购物车
//购物车【信息】
+ (NSURLSessionTask *)requestGoodsCartListSuccess:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//购物车【添加】
+ (NSURLSessionTask *)requestGoodsCartAddWithSpec_id:(NSString *)spec_id quantity:(NSString *)quantity success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//购物车【更新】
+ (NSURLSessionTask *)requestGoodsCartUpdateWithParams:(NSDictionary *)params success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//购物车【删除】
+ (NSURLSessionTask *)requestGoodsCartDeleteWithCartIds:(NSArray *)cart_ids success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


#pragma mark 订单
//订单列表
+ (NSURLSessionTask *)requestGoodsOrderListWithStatus:(NSString *)status page_num:(NSInteger)page_num success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//订单删除(交易关闭)
+ (NSURLSessionTask *)requestGoodsOrderRemoveWithOrderId:(NSString *)orderId  success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//订单取消(临时订单/未支付)
+ (NSURLSessionTask *)requestGoodsOrderCancelWithOrderId:(NSString *)orderId  success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//确认收货
+ (NSURLSessionTask *)requestGoodsOrderCompleteWithOrderId:(NSString *)orderId  success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//订单付款收银台信息
+ (NSURLSessionTask *)requestGoodsOrderPaymentInfoWithOrderId:(NSString *)orderId  success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//订单详情
+ (NSURLSessionTask *)requestGoodsOrderDetailWithOrderId:(NSString *)orderId  success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure ;


//物流
+ (NSURLSessionTask *)requestGoodsOrderShippingWithOrderId:(NSString *)orderId code:(NSString *)code  success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//售后类型
+ (NSURLSessionTask *)requestGoodsOrderAfterSalesTypeWithOrderId:(NSString *)orderId success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//售后申请
+ (NSURLSessionTask *)requestGoodsOrderAfterSalesApplyWithParams:(NSDictionary *)params success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//售后详情
+ (NSURLSessionTask *)requestGoodsOrderAfterSalesInfoWithOrderId:(NSString *)orderId  success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;



//售后列表
+ (NSURLSessionTask *)requestGoodsOrderAfterSalesListWithPageNum:(NSInteger)pageNum success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;



//售后删除
+ (NSURLSessionTask *)requestGoodsOrderAfterSalesDeleteWithOrderId:(NSString *)orderId success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;



#pragma mark 收藏
//商品收藏列表
+ (NSURLSessionTask *)requestGoodsFavoriteListSuccess:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;



#pragma mark 商圈
//商圈导航栏
+ (NSURLSessionTask *)requestBusinessCircleNavTitleSuccess:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


// 商圈店铺列表
/// @param category_id 分类编号
/// @param keyword 查询关键词
/// @param type 0:全国 1:本地
/// @param region_code 区域编码
/// @param latitude 纬度
/// @param longitude 经度
/// @param page_num page_num description
/// @param success success description
/// @param failure failure description
+ (NSURLSessionTask *)requestBusinessCircleShopListWithCategory_id:(NSString *)category_id
                                                           keyword:(NSString *)keyword
                                                              type:(NSInteger)type
                                                       region_code:(NSString *)region_code
                                                          latitude:(NSString *)latitude
                                                         longitude:(NSString *)longitude
                                                          page_num:(NSInteger)page_num
                                                           success:(ST_DataRequestSuccess)success
                                                           Failure:(ST_RequestFailure)failure;


//商圈上传凭证
+ (NSURLSessionTask *)requestBusinessCircleUploadVoucherWithShopId:(NSString *)shop_id amount:(NSString *)amount image_url:(NSString *)image_url success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//消费凭证记录
+ (NSURLSessionTask *)requestBusinessCircleVoucherListWithPageNum:(NSInteger)pageNum type:(NSInteger)type success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//订单状态
+ (NSURLSessionTask *)requestGoodsRechargeVerifyWithOrderId:(NSString *)orderId success:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


//消费额度信息
+ (NSURLSessionTask *)requestUserConsumeQuotaSuccess:(ST_DataRequestSuccess)success Failure:(ST_RequestFailure)failure;


@end

NS_ASSUME_NONNULL_END
